Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

287
Vistas
Ajax con JQuery: 200 ok, pero no "éxito"

Estoy tratando de usar AJAX para enviar una consulta a Google Books y mostrar los resultados en mi sitio web. Estoy usando JQuery para enviar la solicitud y manejar la respuesta, así:

 var query = [formatted input from a form]; var URL = "http://books.google.com/books/feeds/volumes?q="+query+"&start-index=1&max-results=5"; $.ajax({ type: "GET", url: URL, dataType: "xml", success: function(data, status){ alert(status); } });

Actualmente, solo tengo el script que alerta "éxito" si se recibe una respuesta. Si uso mi secuencia de comandos para enviar esa consulta a una página local para probarla, esto funciona bien. Pero cuando configuro la URL en la de Google mencionada anteriormente, como se indica en la página de la API del desarrollador, nunca veo la alerta. Según Firebug, estoy recibiendo una respuesta y un estado de 200 ok como debería, pero no estoy llegando a ese camino de "éxito". ¿Alguien sabe por qué?

Editar: debo agregar que si sigo la URL directamente, a http://books.google.com , etc. con alguna q aleatoria, muestra el XML del feed sin problemas, por lo que la consulta no es el problema.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No puede realizar solicitudes entre dominios mediante XMLHttpRequest con la configuración de seguridad estándar del navegador. Una posible solución es escribir una función de proxy local (suponiendo que pueda crear un código del lado del servidor) que reenvíe la consulta al sitio externo y luego devuelva la respuesta.

Editar : parece que Google también proporciona una API de JavaScript. Asumiría que se han diseñado de tal manera para evitar el problema de XHR entre dominios.

http://code.google.com/apis/books/docs/js/devguide.html#ejecutar

Editar : la API de JavaScript para libros quedó obsoleta. Si bien ya no es útil en la práctica, puede ver el texto original de la documentación a la que se hace referencia a través del archivo de Wayback Machine: http://web.archive.org/web/20120414070427/http://code.google.com/apis/books/docs /js/devguide.html#ejecutar

over 4 years ago · Santiago Trujillo Denunciar

0

Es un problema entre dominios con llamadas ajax porque los navegadores tienen un modelo de seguridad basado en una política de dominio.

si no desea incluir toda la API de Google Books, también puede usar la API de Google Ajax con jsonp para llamadas ajax entre dominios.

Documentos aquí:

http://code.google.com/apis/books/docs/js/jsondevguide.html#basic_query

ejemplo de jQuery

 var query = 'jquery'; var URL = 'https://ajax.googleapis.com/ajax/services/search/books?v=1.0&q=' + query; $.ajax({ type: 'GET', url: URL, dataType: 'jsonp', success: function( data, status ){ alert( data.responseData.results.length + ' results found!' ); }, error: function() { alert( 'Something goes wrong!' ); } });

¡Ciao!

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda